Systems and Methods for Providing a Toolbox

ABSTRACT

Methods and apparatus are disclosed for determining one or more characteristics of an object is described, the method including providing, via a graphical user interface on a mobile device, at least one tool from a virtual toolbox, the at least one tool including one or more of a roof gauge, level, ruler, flashlight, compass, and unit converter; identifying user selection of a given tool of the at least one tool; providing the given tool in response to the user selection; and determining, via the given tool, the one or more characteristics of the object. Methods and apparatus are disclosed for providing the at least one tool. Methods and apparatus are disclosed for using the at least one tool.

CROSS REFERENCE TO RELATED APPLICATIONS AND CLAIM TO PRIORITY

This non-provisional application claims priority to and benefit under 35 U.S.C. §119(e) to U.S. Provisional Application No. 61/884,105 filed on Sep. 29, 2013, entitled “Systems and methods for identifying characteristics of products and determining subrogation opportunity relative to the products,” the disclosure of which is incorporated by reference herein in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH

None.

REFERENCE TO SEQUENTIAL LISTING, ETC.

None.

BACKGROUND

Present embodiments are related to systems and methods for providing a toolbox. More particularly, the present embodiments are directed to providing, via a mobile computing application, at least one tool from the toolbox.

In many instances, a user may need to determine one or more characteristics of an object. For example, the user may need to determine a roof pitch, a level, determine directional coordinates of an object, and so forth. The user may also need to electronically share the one or more characteristics of the object with one or more users. It is therefore desirable to have systems and methods that provide at least one tool from a toolbox. Additionally, it is desirable to have systems and methods that allow the user to save the one or more characteristics, and/or electronically share the one or more characteristics with one or more users.

Generally, the toolbox may enable a user to have access to a mobile application for at least one tool. For example, the user may utilize a mobile application configured with a tool such as a roof gauge to determine a roof pitch. In some implementations the user may determine the one or more characteristics of the object and store the one or more characteristics in a database. In some implementations the user may email the one or more characteristics to at one or more users.

SUMMARY

The specification describes systems and methods for determining one or more characteristics of an object. As discussed, the systems and methods described herein provide a user with tools to identify and/or communicate the one or more characteristics of an object.

In some implementations, a method for determining one or more characteristics of an object is described, the method including: providing, via a graphical user interface on a mobile device, at least one tool from a virtual toolbox, the at least one tool including one or more of a roof gauge, level, ruler, flashlight, compass, and unit converter; identifying user selection of a given tool of the at least one tool; providing the given tool in response to the user selection; and determining, via the given tool, the one or more characteristics of the object. Methods and apparatus are disclosed for providing the at least one tool. Methods and apparatus are disclosed for using the at least one tool.

These methods and other implementations of the technology disclosed can each optionally include one or more additional features as disclosed herein.

Other implementations may include a non-transitory computer readable storage medium storing computer instructions executable by a processor to perform the various methods described herein. Another implementation may include implementing the disclosed method and apparatus on an application running on a computing device (e.g., a mobile application on a mobile device, a downloadable application on a desktop computer, and so forth).

The details of one or more embodiments of the technology disclosed in this specification are set forth in the accompanying drawings and the description below. Additional features, aspects, and advantages of the technology disclosed will become apparent from the description, the drawings and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an example environment for providing a toolbox.

FIG. 2 illustrates an example graphical user interface for providing a toolbox.

FIG. 3 illustrates an example graphical user interface including one or more contents of a toolbox.

FIGS. 4A-4F illustrate example graphical user interfaces for providing a roof gauge.

FIG. 5 illustrates a flow diagram of an example process for utilizing a roof gauge.

FIGS. 6A-6C illustrate example graphical user interfaces for providing a ruler.

FIG. 7 illustrates a flow diagram of an example process for utilizing a ruler.

FIGS. 8A-8B illustrate example graphical user interfaces for providing a compass.

FIG. 9 illustrates a flow diagram of an example process for utilizing a compass.

FIG. 10 illustrates an example graphical user interface for providing a level.

FIG. 11 illustrates a flow diagram of an example process for utilizing a level.

FIG. 12 illustrates an example graphical user interface for providing a flashlight.

FIG. 13 illustrates an example graphical user interface for providing a unit converter.

FIG. 14 illustrates a flow diagram of an example process for utilizing a unit converter.

FIG. 15 illustrates a flow diagram of an example process for identifying one or more characteristics of an object.

FIG. 16 illustrates a block diagram of an example computer system.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of an example environment for providing a toolbox. The process environment 100 includes a mobile device 110 that includes an application for a toolbox 140. In some implementations the mobile device 110 may include an application 115. Application 115 may be an application for a camera, an email application, a text messaging application, and so forth. Toolbox 140 may include tool applications for tools such as a roof gauge 150, level 152, ruler 154, flashlight 156, compass 158, and unit converter 160. In some implementations toolbox 140 may include an application for a camera, an email application, a text messaging application, and so forth. In some implementations the mobile device 110 may be configured so that the components of the toolbox 140 may communicate and/or interact with one another. In some implementations the mobile device 110 may be configured so that the components of the toolbox 140 may communicate and/or interact with application 115. The process environment 100 also includes a network 120 that allows for communication between various components of the process environment 100. In some implementations the process environment 100 may also include a content database 130. In some implementations one or more components of content database 130 may reside on the mobile device 110.

A variety of end users may interact with the toolbox 140 via the mobile device 110. The mobile device 110 may include memory for storage of data and software applications, a processor for accessing data and executing applications, and components that facilitate communication over the network 120 in the process environment 100. The mobile device 110 may execute applications, such as application 115, that may allow clients to interact with the toolbox 140.

At least one tool may be provided from a virtual toolbox, the at least one tool including one or more of a roof gauge, level, ruler, flashlight, compass, and unit converter. The roof gauge may be utilized to determine a roof pitch. The roof pitch is the vertical rise of the roof divided by its horizontal span. One of the purposes of a roof pitch may be to redirect water and/or snow. For example, roofs with a higher pitch may be typically found in areas with heavy snowfall. The level may be utilized in construction projects to correctly measure the elevation and/or grade of an area. The level may be used for determining horizontal, vertical, and/or angular levels. The ruler may be used for conventional purposes, such as to measure lengths. The compass may be used as a navigational instrument that shows directions in a frame of reference that is stationary relative to the earth. For example, the compass may be utilized to identify the directional coordinates of an object with respect to an orientation of the house. The flashlight may be utilized to provide illumination. The unit converter may be utilized to convert from one unit to another.

In some implementations providing the at least one tool may include providing a selectable menu for a virtual toolbox. For example, a selectable menu for a virtual toolbox may be provided by the toolbox 140 via the graphical user interface. For example, with reference to FIG. 2, a first selectable menu for a “Toolbox” 205 may be provided. The user may have the option to select the selectable menu. An additional user selection of the selectable menu for the virtual toolbox may be identified by toolbox 140. In some implementations in response to the additional user selection, the at least one tool may be provided from the virtual toolbox. For example, with reference to FIG. 2, in response to the additional user selection of the first selectable menu for a “Toolbox” 205, the application for the toolbox 140 may provide, via the graphical user interface, one or more selectable icons for a roof gauge, level, ruler, flashlight, compass, and unit converter.

User selection of a given tool of the at least one tool may be identified. For example, the user may be inspecting the roof and may want to determine the roof pitch. Accordingly, the user may select an icon for the roof gauge, and toolbox 140 may identify the user selection of the icon for the roof gauge. Also, for example, the user may be inspecting the roof for hail damage may want to measure the size of hail impact. Accordingly, the user may select an icon for the ruler, and toolbox 140 may identify the user selection of the icon for the ruler.

The given tool may be provided in response to the user selection. For example, toolbox 140 may identify the user selection of the icon for the roof gauge, and may provide an application configured to enable the user to utilize the roof gauge to determine the roof pitch. Also, for example, toolbox 140 may identify the user selection of the icon for the ruler, and may provide an application configured to enable the user to utilize the ruler to determine the dimensions of hail impact on the roof.

Referring now to FIG. 2, an example graphical user interface providing access to a toolbox is illustrated. A graphical user interface 200 is illustrated with a first selectable menu for a “Toolbox” 205, a second selectable menu for a “Roof Guide” 210, a third selectable menu for a “SubroScore” 215, and a fourth selectable menu for “Submit a Project” 220. Selection of the first selectable menu for a “Toolbox” 205 may direct the user to one or more virtual tools, including a compass, a ruler, a roof gauge, and so forth. Selection of the second selectable menu for a “Roof Guide” 210 may direct the user to the roof guide as described herein. Selection of the third selectable menu for a “SubroScore” 215 may direct the user to a determination of a subrogation score. Selection of the fourth selectable menu for “Submit a Project” 220 may direct the user to submission via a project reporting tool. Optionally, a data entry field 225 may be provided for entry of the current location. For example, the address of the property where the roof is located may be entered. The graphical user interface 200 is for illustrative purposes only. Additional and/or alternative menus may be provided. For example, in some implementations, “Roof Guide” 210 may be accessed via a menu for “Guides & Checklists”. User selection of “Guides & Checklists” may direct the user to a new graphical user interface that may provide selectable menus for one or more of a “Roof Guide”, a “Best Practice Field Guide”, and “Checklists”. Also, in some implementations, additional and/or alternative tools may be provided via “Toolbox” 205. In some implementations, “Toolbox” 205 may be accessed from an additional menu. In some implementations the menu for “Toolbox” 205 may not be provided. In some implementations one or more of the at least one tool may be directly accessible from the mobile device 110, for example, as stand-alone applications.

The one or more characteristics of the object may be identified via the given tool. For example, the roof gauge may be utilized to determine the roof pitch. As another example, the compass may be utilized to identify the directional location of the object in relation to the house. Also, for example, the ruler may be utilized to determine the dimensions of hail impact on the roof.

In some implementations determining the one or more characteristics of the object may include capturing the image of the object via an application for a camera on the mobile device. In some implementations the toolbox 140 may be configured to be compatible with an application 115 for a mobile camera that may enable the user to capture an image of the object. For example, the user may be provided with an option to capture the image of a hail impact via toolbox 140. Also, for example, the user may be provided with an option to capture the image of a roof via toolbox 140.

The one or more characteristics of the object may be stored in a database. In some implementations the one or more characteristics of the object may be stored in the mobile device 110. In some implementations the database may be external to the mobile device. For example, the one or more characteristics of the object may be stored in the content database 130. In some implementations content database 130 may include databases such as a roof database (e.g., storing information related to type of roof and/or type of damage). In some implementations the one or more characteristics of the object may be stored along with an address and/or geographical location of the object. For example, the roof pitch may be associated with an address and the association may be stored in the database. Also, for example, the mobile device may be configured to determine a geographical location (e.g., GPS coordinates) and the mobile device may associate the geographical location with the object, and store such an association in the database.

In some implementations the one or more characteristics of the object may be provided to a user. For example, the one or more characteristics of the object may be displayed via the graphical user interface on the mobile device. In some implementations the one or more characteristics of the object may be provided to the user and/or an additional user via one or more of an electronic mail and a text message. For example, application 115 may include an electronic mail application and the one or more characteristics of the object may be sent as an electronic mail to the user and/or the additional user. Also, for example, application 115 may include a text messaging application and the one or more characteristics of the object may be sent as text message to the user and/or the additional user.

FIG. 3 illustrates an example graphical user interface including one or more contents of a toolbox. A graphical user interface 300 is illustrated. For example, the user may select the icon for Toolbox 205 in the graphical user interface 200 illustrated in FIG. 2. In response to such user selection, the mobile application for toolbox 140 may provide the user with the toolbox 305, including the at least one tool. The at least one tool may include a “Roof Gauge” 310, “Level” 315, “Ruler” 320, “Flashlight” 325, “Compass” 330, and “Unit Converter” 335.

TOOLBOX: Roof Gauge

In some implementations the tool may be the roof gauge. As described herein, the roof gauge may be utilized to gauge the roof pitch. The roof pitch is a key characteristic of a roof, especially as it relates to the type of roofing material, the structure, function, and stability of the roof, and so forth. For example, a roof pitch may be significant for purposes of draining the roof of precipitation. A faulty roof pitch may lead to an accumulation of water and/or snow, and cause damage to the roof. Accordingly, determination of the roof pitch is important in the investigation of losses to roofs. Also, for example, the roof pitch may be utilized to estimate the area of a roof. This may be utilized to estimate the amount of material need for roofing.

In some implementations the roof gauge may include a virtual protractor, where the curved periphery of the virtual protractor has a calibrated scale; a pivot arm with a first end and a second end, where the first end is fixed at a pivot point near the center of the virtual protractor, the second end points to, and overlaps, the calibrated scale; and a straight base line, wherein the base line is parallel to a side of the mobile device. The pivot arm may be freely rotatable about the pivot point.

The roof pitch is generally determined as the number of inches the roof rises vertically for every 12 inches it extends horizontally. For example, a roof that rises 8 inches for every 12 inches of horizontal run may be determined to have an 8-in-12 pitch, or 8/12 pitch. In some implementations the roof pitch may be calculated as an angle, for example, an angle with respect to a vertical axis. For example, a 12/12 pitch may correspond to an angle of 45°, an 8/12 pitch may correspond to an angle of 33.69°, and a 0/12 pitch may correspond to an angle of 0°, i.e., a vertical line. In some implementations the calibrated scale is calibrated for a roof pitch from 0/12 to at least 97/12. In some implementations the calibrated scale is calibrated to correspond to a roof pitch of 0/12 when the second end of the pivot arm points to the midpoint of the calibrated scale.

In some implementations the central portion of the virtual protractor may be capable of displaying the roof pitch. For example, the virtual protractor may be shaped like a semicircle, and the portion toward the center of the semicircle may be configured to display the roof pitch. In some implementations the method may include an option to record the position of the pivot arm. For example, the position of the pivot arm may be recorded and stored in the database.

In some implementations a position of the base line may be identified, the position of the base line being parallel to a slant of the roof. For example, the mobile device 110 may be placed on the roof to be measured, thereby making the position of the base line to be parallel to a slant of the roof. Also, for example, an image of a roof to be measured may be identified via a display on the mobile device, and the position of the base line may be made to be parallel to a slant of the roof by aligning the mobile device 110 with the slant of the roof. The second end of the pivot arm may be positioned on the calibrated scale based on the position of the base line. The roof pitch may be determined based on the positioning of the second end of the pivot arm on the calibrated scale.

In some implementations the user may be provided with an option to record the roof pitch. The roof gauge 150 may then determine the roof pitch based on the position of the pivot arm. For example, if the pivot arm is identified to be at an angle of 33.69° to the vertical axis, then the roof pitch may be determined to be 8/12. In some implementations the roof pitch may be displayed at or about the central portion of the virtual protractor.

FIGS. 4A-4F illustrate example graphical user interfaces for providing a roof gauge.

Referring now to FIG. 4A, a graphical user interface is illustrated providing a virtual roof gauge. The graphical user interface 400A may be displayed via the mobile device. In some implementations the virtual roof gauge 405A may be a virtual protractor, such as a semi-circular calibrated scale 410A appearing on the curved periphery of a semi-circular portion. A concentric semi-circular portion is shown near the central portion 415A displaying a pitch of “0/12” and a selectable menu option for “Hold” 420A. When the mobile device displaying the virtual roof gauge 405A is held up and pointed toward a roof, an image of the roof 425A may appear within the graphical user interface 400A with the virtual roof gauge 405A overlaid on it. The virtual roof gauge 405A may be calibrated with the calibrated scale 410A to determine the pitch, or slope, of the roof. In this example, the pitch is represented as a “Rise over Run”. The virtual roof gauge 405A is shown to include a pivot arm 430A. The pivot arm 430A may include a first end 435A that is fixed at a pivot point near the center of the virtual roof gauge 405A. The pivot arm 430A may include a second end 440A that may point to and overlap the calibrated scale 410A. The roof gauge 405A may additionally include a base line 465A.

The mobile device may be positioned so that the slant of a roof to be measured may be aligned with the base line 465A of the roof gauge 405A. The pivot hand 430A of the virtual roof gauge 405A may be positioned based on the position of the base line 465A. The position of the pivot hand 430A of the roof gauge 405A with respect to the calibrated scale 410A may be identified, the roof pitch may be determined, and the roof pitch may be displayed at the central portion 415A. In some implementations the selectable menu option “Hold” 420A may be selected to hold the position of the pivot arm 430A. Accordingly, the pitch of the roof may be determined. An additional selectable menu option “Save” 445A may be selected to save the data in a database. In some implementations a data entry field may be provided to enable the user to enter Notes 450A. In some implementations a virtual camera application 115 may be configured to be compatible with the application for the roof gauge 150 in the toolbox 140. The camera may be selected via a camera icon 455A provided via the graphical user interface 400A. In some implementations the user may capture the image displayed on the graphical user interface 400A by selecting the camera icon 455A. In some implementations a gear icon 460A may be provided. Selection of the gear icon 460A may allow the user to calibrate the tool, and/or seek help in using the tool. In some implementations the Notes 620A, the captured image, and/or other data may be shared with one or more users via communication systems such as an electronic mail system, text messaging system, and so forth. In some implementations the sharing may be achieved via a share icon 470A.

Referring now to FIG. 4B, a graphical user interface is illustrated providing a virtual roof gauge. The graphical user interface 400B may be displayed via the mobile device. The virtual roof gauge 405B is illustrated with a generally semi-circular appearance with a calibrated scale 410B appearing on the curved periphery of the semi-circular portion. A concentric semi-circular portion is shown near the central portion 415B displaying a pitch of “8/12” and a selectable menu option to “Unhold” 420B. As discussed with reference to FIG. 4A, the roof pitch may be determined. In this example, the pitch is shown to be determined as “8/12”. The selectable menu option for “Unhold” 420B may be selected to recalculate the roof pitch. The virtual roof gauge 405B is illustrated to include a pivot arm 430B. The pivot arm 430B may include a first end 435B that is fixed at a pivot point near the center of the virtual roof gauge 405B. The pivot arm 430B may include a second end 440B that may point to and overlap the calibrated scale 410B.

As described herein, the mobile device may be positioned so that a base of the roof may be aligned with the base of the roof gauge 405B. The pivot hand 430B of the virtual roof gauge 405B may be aligned with the slope of the image of the roof 425B. The position of the pivot hand 430B of the roof gauge 405B with respect to the calibrated scale 410B may be identified. As illustrated by small icon 460B, one or more images captured by a camera (e.g., via camera icon 455B) may be saved. In the illustration “+2” next to the small icon 460B indicates that two images have been stored. In some implementations a data entry field may be provided to enable the user to enter Notes 450B. The selectable menu option “Save” 445B may be selected to save the data. In some implementations a gear icon 465B may be provided. Selection of the gear icon 465B may allow the user to calibrate the tool, and/or seek help in using the tool.

Referring now to FIG. 4C, a graphical user interface is illustrated providing a virtual roof gauge. The graphical user interface 400C may be displayed via the mobile device. After the pitch has been determined, in some implementations, a pop-up menu 405C may be provided to the user. For example, the pop-up menu 405C may display the roof pitch 410C that has been determined. As another example, the pop-up menu 405C may include an option to report an address 415C. In some implementations one or more editable data fields may be provided to enter location information and/or a note. For example, a first editable field 420C may be provided for entry of the address 415C, and a second editable data field 425C may be provided to add a note. The selectable menu option “Save” 430C may be selected to save the entered data in the database. In some implementations the determined roof pitch, the entered address, and/or the entered notes may be associated with each other and such associations may be stored in the database, such as the content database 130.

Referring now to FIG. 4D, a graphical user interface is illustrated providing a virtual roof gauge. The graphical user interface 400D may be displayed via the mobile device. After the pitch has been determined, in some implementations, a pop-up menu 405D may be provided to the user. For example, the pop-up menu 405D may display the roof pitch 410D that has been determined. As another example, the pop-up menu 405D may include an option to report an address 415D. The user may desire to enter an address 415D in the first data entry field 420D. In some implementations the user may select the first data entry field 420D. A virtual keyboard 425D may be provided for data entry. In some implementations, the location information may be entered manually into the editable data field via the virtual keyboard 425D.

Referring now to FIG. 4E, a graphical user interface is illustrated providing a virtual roof gauge tool. The graphical user interface 400E may be displayed via the mobile device. As described herein the roof pitch may be determined as a ratio (e.g., 8/12) or a degree (e.g., 33.69°). In some implementations the user may be provided with a selectable option to choose the unit (e.g., ratio, degree) for the pitch. For example, the user may be provided with an option to calibrate 405E the roof pitch in terms of a “Rise/Run” 410E (i.e., the rise over the run, or the vertical displacement divided by the horizontal displacement), or as “Degrees” 415E. A horizontal bar with a slidable insert 420E is shown. The slidable insert 420E may be toggled between the two ends. When the slidable insert 420E is toggled to the left, the pitch is calibrated in terms of “Rise/Run” 410E and when the slidable insert 420E is toggled to the right, the pitch is calibrated in terms of “Degrees” 415E. In some implementations the slidable insert 420E may be toggled via a touch-sensitive display.

Referring now to FIG. 4F, a graphical user interface is illustrated providing a virtual roof gauge tool. The graphical user interface 400F may be displayed via the mobile device. The graphical user interface 400F may be configured to display the image 405F of an object (e.g., via camera viewfinder). For example, the graphical user interface 400F may display the image 405F of a roof. An example method is illustrated for determining the roof pitch. A mobile device may be held up to be aligned with a sloping section of a roof. For example, the user may be prompted to “Align Roof to this Line” 410F, and in response, the user may align the device 415F so that slant 430F of the roof is aligned to the line 420F. The user may also place device 415F on a roof to align with the slant 425F of the roof. When aligned, the selectable option “Hold” 430F may be selected to calibrate the pitch.

FIG. 5 illustrates a flow diagram of an example process for utilizing a roof gauge. At step 500, the roof gauge may be calibrated by placing the mobile device on a flat surface, and by selecting a menu to “Calibrate”. At step 510, if the user is on the roof, then the user may place the mobile device on the surface of the roof. If the user is on the ground, then the user may align the base line of the roof gauge with the slant of the roof. At step 520, once aligned, the user may press the “Hold” icon to save the roof pitch. In some implementations the image on the display of the mobile device may be frozen in response to selection of the “Hold” icon. At step 530, the user may select a camera icon to capture a snapshot of the image and the data (e.g., roof pitch). At step 540, in some implementations, the user may be provided with an option to save the calculation, notes, and/or any images, and associate one or more of these with a location address. At step 550, in some implementations the user may be provided with an option to share the calculation, notes, and/or any images, such as via electronic mail and/or a text message.

TOOLBOX: Ruler

In some implementations the tool may be the ruler. For example, a user may be interested in measuring the dimensions of hail impact to a roof. The user may select the menu option for the “Ruler” among the at least one tool from the toolbox. The toolbox 140 may provide the user with a virtual ruler 154. The ruler may include a straight edge capable of being calibrated, and a virtual quarter, the virtual quarter capable of being resized and/or repositioned. In some implementations the straight edge may be calibrated based on the size of the virtual quarter. For example, the calibrations of the straight edge may be further apart when the quarter is resized to be large. Also, for example, the calibrations of the straight edge may be closer together when the quarter is resized to be small. A real quarter may be used to calibrate the straight edge. For example, a real quarter may be placed on the display of the mobile device, and the virtual quarter may be repositioned and/or resized to match the exact size of the real quarter. For example, the user may pinch and zoom the virtual quarter so that the virtual quarter is the exact size of the real quarter. As described herein, the calibrations of the straight edge may be altered based on the resizing of the virtual quarter. The calibrated ruler may be utilized for length measurements.

For example, a straight edge may be displayed via the graphical user interface on the mobile device. The user may point the mobile device toward the portion of a roof with hail impact. An image of the portion of the roof may be viewed via the graphical user interface displaying the virtual ruler. The user may superimpose the virtual ruler over the image of the portion of the roof to measure hail size.

FIGS. 6A-6C illustrate example graphical user interfaces for providing a ruler.

Referring now to FIG. 6A, a graphical user interface is illustrated providing a virtual ruler. The graphical user interface 600A may provide the ruler 605A via a display on the mobile device. An example method is illustrated for determining the size of hail impact 610A on a roof. A conventional ruler is generally calibrated in inches on one vertical side and in centimeters on the opposing vertical side. The virtual ruler 605A may be calibrated in inches or centimeters. The calibration may be achieved by resizing the virtual quarter to match the size of a real quarter. The calibrated ruler 605A may be utilized to make measurements that a conventional ruler would make.

For example, a mobile device displaying the virtual ruler 605A may be pointed at the roof with hail impact 610A. An image of the roof appears in the graphical user interface 600A. In some implementations the mobile device may be positioned so that the virtual ruler 605A is aligned with the diameter of the hail impact 610A. The virtual ruler 605A illustrated herein is calibrated in centimeters (“cm”). In some implementations an additional selectable menu option “Save” 625A may be selected to save the data. In some implementations a data entry field may be provided to enable the user to enter Notes 620A. In some implementations a virtual camera application 115 may be configured to be compatible with the application for the ruler 154 in the toolbox 140. The camera may be selected via a camera icon 630A provided via the graphical user interface 600A. In some implementations the user may capture the image displayed on the graphical user interface 600A by selecting the camera icon 630A. In some implementations a gear icon 635A may be provided. Selection of the gear icon 635A may allow the user to calibrate the tool, and/or seek help in using the tool. In some implementations the Notes 620A, the captured image, and/or other data may be shared with one or more users via communication systems such as an electronic mail system, text messaging system, and so forth. In some implementations the sharing may be achieved via a share icon 640A.

Referring now to FIG. 6B, a graphical user interface is illustrated providing a virtual ruler. The graphical user interface 600B may provide the ruler 605B via a display on the mobile device. An example method is illustrated for determining the size of hail impact 610B on a roof. A mobile device with the virtual ruler 605B may be pointed at the roof with hail impact 610B. An image of the roof appears in the graphical user interface 600B. In some implementations the mobile device may be positioned so that the virtual ruler 605B is aligned with the diameter of the hail impact 610B. The virtual ruler 605B illustrated herein is calibrated in inches.

Referring now to FIG. 6C, a graphical user interface is illustrated providing a virtual ruler. The graphical user interface 600C may provide a selectable option to measure length using centimeters 605C or inches 610C. A vertical bar with a slidable insert 615C is shown. The slidable insert 615C may be toggled between the two units of measuring length. When the slidable insert 615C is toggled to the left, the length is calibrated in terms of “inches” 610C, and when the slidable insert 615C is toggled to the right, the length is calibrated in terms of “cm” 605C. In some implementations the slidable insert 615C may be toggled via a touch-sensitive screen.

FIG. 7 illustrates a flow diagram of an example process for utilizing a ruler. At step 700, a real quarter may be placed over the display of a mobile device, such as on a touch sensitive screen of the mobile device. The virtual quarter may be repositioned to align with the real quarter. At step 710, the virtual quarter may be resized to match the size of the real quarter. Such resizing may be achieved via a pinch and zoom operation on the touch sensitive screen. At step 720, an object may be measured, and a screen shot of the object may be captured via an application for a camera (e.g., by pressing a camera icon). At step 730, the measurement, notes, and/or images may be saved in a database. At step 740, the measurement, notes, and/or images may be shared with one or more users, via a communication application such as an electronic mail application, text messaging application, and so forth.

TOOLBOX: Compass

In some implementations the tool may be the compass, and the compass may include one or more directional coordinates. For example, the compass may include a circle capable of free rotation about its center, and the one or more directional coordinates may be provided along the perimeter of the circle. As described herein, the compass may be used as a navigational instrument that shows directions in a frame of reference that is stationary relative to the earth's magnetic axes. The directions may be the four cardinal directions North (“N”), South (“S”), East (“E”), and West (“W”). In some implementations intermediate directions may be provided, such as for example, North-East (“NE”), South-East (“SE”), South-West (“SW”), and North-West (“NW”). In some implementations the directional coordinates may include icons representing the one or more cardinal directions, and/or one or more intermediate directions.

In some implementations the compass may be calibrated via a predetermined motion of the mobile device. In some implementations the predetermined motion may be a figure-eight motion of the mobile device. For example, the user may move the phone in a figure eight motion. In some implementations the user may be required to move the phone in the figure eight motion a plurality of times (e.g., three full figure eight motions). Additional and/or alternative predetermined motions may be utilized to calibrate the compass. In some implementations the mobile device 110 may identify the predetermined motion and in response, may calibrate the compass by aligning the compass with a frame of reference that remains stationary with respect to the earth. In some implementations the circle representing the compass may be freely rotated about its center while calibrating the compass.

In some implementations an image of an object may be identified via the display of the mobile device. For example, an image of a portion of a house may be identified. The user may be interested in identifying the location of an object within a house. For example, a malfunctioning clothes' dryer may be located adjacent to a bedroom toward the front of a house. The user may select the menu option for the “Compass” among the at least one tool from the toolbox. The toolbox 140 may invoke the application for the virtual compass 158. For example, the virtual compass may be displayed via the graphical user interface on the mobile device. The user may point the mobile device toward the front of the house. An image of the front of the house may be viewed via the graphical user interface displaying the virtual compass. The user may superimpose the virtual compass over the image of the front of the house, and identify the location of the malfunctioning clothes' dryer adjacent to the bedroom toward the front of the house.

In some implementations one or more selectable menus to identify the directional coordinates may be provided. For example, the directions may be displayed with selectable menus. For example, the user may identify the location of the malfunctioning clothes' dryer as being approximately in the North-East (“NE”). Accordingly, the user may select the selectable menu identifying “NE” as a given directional coordinate. In some implementations user selection of the given directional coordinate of the one or more directional coordinates may be identified. For example, toolbox 140 may identify selection of the “NE” direction and associate this with the clothes' dryer. In some implementations the given directional coordinate may be associated with the object in the database. For example, the given directional coordinate, such as “NE”, may be associated with the clothes' dryer, and/or an address for the house and such associations may be stored in the database.

FIGS. 8A-8B illustrate example graphical user interfaces for providing a compass.

Referring now to FIG. 8A, a graphical user interface is illustrated providing a virtual compass. As illustrated, the virtual compass 815A may be provided via the graphical user interface 800A. In some implementations the compass 815A may be generally circular in shape. Along the curved periphery of the circle may be provided smaller circles representing selectable menus that mark the one or more directional coordinates in a frame of reference that remains stationary with respect to the earth. The directions illustrated herein are the four cardinal directions North (“N”), South (“S”), East (“E”), and West (“W”). Intermediate directions such as North-East (“NE”), South-East (“SE”), South-West (“SW”), and North-West (“NW”) may be optionally provided. For example, the cardinal direction “N” 820A may be provided with an associated first selectable menu 825A. Selection of the first selectable menu 825A is indicative of selection of the “North” direction. Also, for example, the cardinal direction “E” 830A may be provided with an associated second selectable menu 835A. Selection of second selectable menu 835A is indicative of selection of the “East” direction. A mobile device configured to include the virtual compass 815A may be pointed to an object, such as a house. In some implementations an image of the house may appear within the graphical user interface 800A with the compass 815A overlaid on it. In some implementations a user may select a selectable menu from the one or more selectable menus that mark the one or more directions as illustrated herein.

An additional selectable menu option “Save” 845A may be selected to save the data. In some implementations a data entry field may be provided to enable the user to enter Notes 840A. In some implementations a virtual camera may be configured to be compatible with toolbox 140. The camera may be selected via a camera icon 850A provided via the graphical user interface 800A. In some implementations the user may capture the image displayed on the graphical user interface 800A, optionally with the image of the compass 815A, by selecting the camera icon 850A. In some implementations a caption “Compass” 805A may be provided as an indication that the user is in the compass application.

Referring now to FIG. 8B, a graphical user interface is illustrated providing a virtual compass. As illustrated, the virtual compass 810B may be provided via the graphical user interface 800B. In some implementations the compass 815A may be generally circular in shape. Along the curved periphery of the circle are provided smaller circles representing selectable menus that mark the one or more directions in a frame of reference that remains stationary with respect to the earth. The directions illustrated herein are the four cardinal directions North (“N”), South (“S”), East (“E”), and West (“W”). Intermediate directions such as North-East (“NE”), South-East (“SE”), South-West (“SW”), and North-West (“NW”) may be optionally provided.

A user may be at a house to determine the extent of property loss. Determining the locations of the loss precisely may be critical to evaluating the causes of the loss and the nature and extent of the loss. For example, if it is known that a hailstorm blew from the south-east to the north-west direction, the damage to the house and/or roof may be compared against this data to determine the extent of likely damage, and/or to identify possible areas of damage. When the mobile device configured to include the virtual compass 810B is pointed to a house, the user may select a selectable menu from the one or more selectable menus that mark the one or more directional coordinates as illustrated herein. For example, the intermediate direction “NW” 815B may be provided with an associated third selectable menu 820B. Selection of third selectable menu 820B is indicative of selection of the “North-West” direction. The user may identify a portion of the roof to be approximately at or near the intermediate direction “NW” 815B. Accordingly, the user may select the third selectable menu 820B. This provides the position of possible roof damage with respect to the front portion of the house. In some implementations an image of the house, or a portion thereof, may be provided with the relevant direction marked as an overlaid image.

As another example, the user may determine that a bedroom window has suffered loss due to a hailstorm. The user may take an image of the bedroom window from the outside, overlay the image with a direction selected from among the one or more selectable menus that mark the one or more directional coordinates. For example, the user may identify that window 840B may have suffered loss. The user may determine the position of window 840B to be approximately at or near the intermediate direction “NE” 845B. Accordingly, the user may select a fourth selectable menu 850B. This provides the position of possible roof damage with respect to the front portion of the house. In some implementations an image of the house, or a portion thereof, may be provided with the relevant direction marked as an overlaid image. In some implementations the user may additionally enter the bedroom where the impacted window is located and take another image overlaid with a direction selected from among the one or more selectable menus that mark the one or more directions. Additional images with directional coordinates may be captured to precisely locate an object.

An additional selectable menu option “Save” 830B may be selected to save the data. In some implementations a data entry field may be provided to enable the user to enter Notes 825B. In some implementations a virtual camera may be configured to be compatible with toolbox 140. The camera may be selected via a camera icon 835B provided via the graphical user interface 800B. In some implementations the user may capture the image displayed on the graphical user interface 800B, optionally with the image of the compass 810B, by selecting the camera icon 835B. In some implementations a caption “Compass” 805B may be provided as an indication that the user is in the compass application. As described herein, the notes, images, and additional data may be shared with one or more users via a communication application, such as an electronic mail application and/or a text messaging application.

FIG. 9 illustrates a flow diagram of an example process for utilizing a compass. At step 900, the compass may be calibrated via a predetermined motion. In some implementations the predetermined motion may be a figure eight motion performed three full times. At step 910, while capturing images of an object seen via a viewfinder in the mobile device, such as a building (e.g., from inside and/or outside), a directional coordinate for the front of the building may be selected with respect to the object in the viewfinder. At step 920, a camera icon may be selected to capture a screenshot of the directional coordinate and/or image. At step 930, the selected directional coordinate may be associated with the object and saved in a database. At step 940, notes, images, and directional coordinates may be shared with one or more users via a communication application, such as an electronic mail application and/or a text messaging application.

TOOLBOX: Level

In some implementations the tool may be the level. The level may comprise one or more selectable bars, including a vertical bar to determine a vertical level, a horizontal bar to determine a horizontal level, and an angular bar to determine an angular level. The level is a tool that may be utilized to establish a horizontal line or plane. In some implementations the mobile device 110 may be placed on a surface and the toolbox 140 may be configured to determine whether the surface is horizontal or not. In some implementations the level may be shaped like a bar with a central portion of the bar indicating a horizontal position. In some implementations a virtual bubble may indicate whether the surface is horizontal. For example, when the virtual bubble is within the central portion of the bar, the surface may be identified to be horizontal. In some implementations the level may be shaped like a disk with a central portion of the disk indicating a horizontal position. For example, when the virtual bubble is within the central portion of the disk, the surface may be identified to be horizontal. Also, for example, the position of the virtual bubble may indicate a direction and a magnitude of a slope.

In some implementations determining, via the given tool, the one or more characteristics of the object, may include displaying, via a display on the mobile device, an image of the object to be measured, overlaid with the level. The application for the level 152 in the toolbox 140 may identify a selection of a given bar of the one or more selectable bars, and identify a position of the given bar, the position being parallel to the image of the object to be measured. The level of the object may be determined based on the position of the given bar. In some implementations the level may be displayed via the application for the level 152.

FIG. 10 illustrates an example graphical user interface for providing a level. The graphical user interface 1000 may display a level. The level may include or more selectable bars, including a vertical bar 1010 to determine a vertical level, a horizontal bar 1005 to determine a horizontal level, and an angular bar 1015 to determine an angular level. As described herein, one or more of the selectable bars may include a virtual bubble to indicate the level. For example, a virtual bubble 1020 is illustrated in the horizontal bar 1005. In some implementations region 1025 may indicate a value for the level.

In some implementations a selectable menu option “Hold” may be selected to hold the position of the level. An additional selectable menu option “Save” 1015 may be selected to save the data in a database. In some implementations a data entry field may be provided to enable the user to enter Notes 1040. In some implementations a virtual camera application 115 may be configured to be compatible with the application for the level 152 in the toolbox 140. The camera may be selected via a camera icon 1030 provided via the graphical user interface 1000. In some implementations the user may capture the image displayed on the graphical user interface 1000 by selecting the camera icon 1030. In some implementations a gear icon 1035 may be provided. Selection of the gear icon 1035 may allow the user to calibrate the tool, and/or seek help in using the tool. In some implementations the Notes, the captured image, and/or other data may be shared with one or more users via communication systems such as an electronic mail system, text messaging system, and so forth. In some implementations the sharing may be achieved via a share icon 1050.

FIG. 11 illustrates a flow diagram of an example process for utilizing a level. At step 1100, the level may be calibrated by placing the mobile device 110 on a flat surface. For example, a user may place the mobile on the flat surface and press “Calibrate” from a menu providing settings for the level. At step 1110, the user may select a given bar of the one or more selectable bars. In some implementations the given bar may be highlighted to indicate its selection. A central display may indicate the measurement of a tilt for the given level (e.g., angle measurement in degrees). At step 1120, once aligned, a “Hold” icon may be selected to save the level reading and/or freeze the level reading on the display. At step 1130, a camera icon may be selected to capture a screenshot of the data and/or image. At step 1140, the data, notes, and/or images may be associated with a location address, and saved in a database. At step 1150, the data, notes, location address, and/or images may be shared with one or more users via communication systems such as an electronic mail system, text messaging system, and so forth. In some implementations the sharing may be achieved via a share icon.

TOOLBOX: Flashlight

FIG. 12 illustrates an example graphical user interface for providing a flashlight. The graphical user interface 1200 may display a flashlight 1205 that includes a power icon 1210. Upon selection of the power icon 1210 the application for the flashlight turns on a light that may be utilized for purposes of illumination. A selectable menu option “Save” 1220 may be selected to save the data in a database. In some implementations a data entry field may be provided to enable the user to enter Notes 1215. In some implementations a virtual camera application may be configured to be compatible with the application for the flashlight 156 in the toolbox 140.

TOOLBOX: Unit Converter

FIG. 13 illustrates an example graphical user interface for providing a unit converter. A graphical user interface 1300 is illustrated. For example, the user may select the icon for “Unit Converter” 335 in the graphical user interface 300 illustrated in FIG. 3. In response to such user selection, the mobile application for toolbox 140 may provide the user with the “Unit Converter” 1305. The “Unit Converter” 1305 may include selectable options for an “Angle” 1310, “Area” 1315, “Length” 1320, “Volume” 1325, “Temperature” 1330, and “Power” 1335.

Upon identifying a selection for “Angle” 1310, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., Degree, Radian, Rise/Run), and/or a menu to enter a value for an angle. Upon identifying a selection for “Area” 1315, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., inches squared, feet squared, miles squared, meters squared, centimeters squared, millimeters squared, kilometers squared, and acres), and/or a menu to enter a value for an area. Upon identifying a selection for “Length” 1320, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., inches, feet, miles, meters, centimeters, millimeters, kilometers, microns, and furlong), and/or a menu to enter a value for a length. Likewise, upon identifying a selection for “Volume” 1325, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., inches cubed, feet cubed, yard cubed, pint, cups, teaspoon, tablespoon, quart, gallon, liter, meters cubed, centimeters cubed, and millimeters cubed), and/or a menu to enter a value for a volume.

Upon identifying a selection for “Temperature” 1330, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., Degree Fahrenheit, Degree Celsius, Rankin, and Kelvin), and/or a menu to enter a value for a temperature. Likewise, upon identifying a selection for “Power” 1335, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., Watt, Kilowatt, Horsepower, Btu/hr, and Joules/sec), and/or a menu to enter a value for a power.

FIG. 14 illustrates a flow diagram of an example process for utilizing a unit converter. At step 1400, a conversion type may be selected from a Unit Converter menu. The Unit Converter menu may include selectable options for an “Angle”, “Area”, “Length”, “Volume”, “Temperature”, and “Power”. At step 1410, a unit field may be selected, where the unit field is associated with the selected unit converter. For example, upon identifying a selection for “Length”, the toolbox 140 may provide additional menus, including a menu for “Unit” (e.g., inches, feet, miles, meters, centimeters, millimeters, kilometers, microns, and furlong), and/or a menu to enter a value for a length. The user may select the “Unit” to select the measurement type. An additional field for “Value” may be provided. Selection of the “Value” field may provide the user with an editable field to enter a measurement. At step 1420, one or more conversions for an entered vale may be displayed. For example, when the length is measured in inches, one or more conversions of the measured value may be displayed. At step 1430, the measurements, conversions, and notes may be associated with a location address. In some implementations the measurements, conversions, and notes may be saved in a database. At step 1440, the measurements, conversions, and notes may be shared with one or more users via communication systems such as an electronic mail system, text messaging system, and so forth.

Subrogation System and/or Project Reporting Tool

In some implementations the method may include determining, based on the one or more characteristics of the object, a subrogation score for the object, the subrogation score indicative of a subrogation opportunity relative to the object. In some implementations the method may include providing one or more steps to submit the object for a project via a project reporting tool. In some implementations an application 115 may prompt the user to enter claim information, including information related to the insured party, the claim number, the date of loss, and so forth.

Example Process

FIG. 15 illustrates a flow diagram of an example process for identifying one or more characteristics of an object. For convenience, the method 1500-1530 will be described with respect to a system that performs at least parts of the method. Other implementations may perform the steps in a different order, omit certain steps, and/or perform different and/or additional steps than those illustrated in FIG. 15. For convenience, aspects of FIG. 15 will be described with reference to a system of one or more computers that perform the process. The system may include, for example, one or more components of FIG. 1.

At step 1500, at least one tool may be provided from a virtual toolbox, the at least one tool including one or more of a roof gauge, level, ruler, flashlight, compass, and unit converter. The roof gauge may be utilized to determine a roof pitch. The roof pitch is the vertical rise of the roof divided by its horizontal span. One of the purposes of a roof pitch may be to redirect water and/or snow. For example, roofs with a higher pitch may be typically found in areas with heavy snowfall. The level may be utilized in construction projects to correctly measure the elevation and/or grade of an area. The level may be used for determining horizontal, vertical, and/or angular levels. The ruler may be used for conventional purposes, such as to measure lengths. The compass may be used as a compass that shows directional coordinates in a frame of reference that is stationary relative to the earth. For example, the compass may be utilized to identify the directional coordinates of an object with respect to the orientation of the house.

At step 1510, user selection of a given tool of the at least one tool may be identified. For example, the user may be inspecting the roof and may want to determine the roof pitch. Accordingly, the user may select an icon for the roof gauge, and toolbox 140 may identify the user selection of the icon for the roof gauge. Also, for example, the user may be inspecting the roof for hail damage may want to measure the size of hail impact. Accordingly, the user may select an icon for the ruler, and toolbox 140 may identify the user selection of the icon for the ruler.

At step 1520, the given tool may be provided in response to the user selection. For example, toolbox 140 may identify the user selection of an icon for the roof gauge, and may provide an application configured to enable the user to utilize the roof gauge 150. Also, for example, toolbox 140 may identify the user selection of an icon for the level, and may provide an application configured to enable the user to utilize the level 152. Also, for example, toolbox 140 may identify the user selection of an icon for the ruler, and may provide an application configured to enable the user to utilize the ruler 154. As another example, toolbox 140 may identify the user selection of an icon for the flashlight, and may provide an application configured to enable the user to utilize the flashlight 156. Also, for example, toolbox 140 may identify the user selection of an icon for the compass, and may provide an application configured to enable the user to utilize the compass 158. As another example, toolbox 140 may identify the user selection of an icon for the unit converter, and may provide an application configured to enable the user to utilize the unit converter 160.

At step 1530, one or more characteristics of the object may be determined. For example, the roof gauge may be utilized to determine the roof pitch. As another example, the compass may be utilized to identify the directional location of the object in relation to the house. Also, for example, the ruler may be utilized to determine the dimensions of hail impact on the roof.

In some implementations, the one or more characteristics of the object may be provided to a user. In some implementations the one or more characteristics may be provided to the user via electronic mail and/or a text message. In some implementations, the one or more characteristics of the object may be stored in a database. In some implementations the one or more characteristics of the object may be stored in the mobile device 110. In some implementations the database may be external to the mobile device. For example, the one or more characteristics of the object may be stored in the content database 130. In some implementations content database 130 may include databases such as a roof database (e.g., storing information related to type of roof and/or type of damage). In some implementations the one or more characteristics of the object may be stored along with an address and/or geographical location of the object. For example, the roof pitch may be associated with an address and the association may be stored in the database. Also, for example, the mobile device may be configured to determine a geographical location (e.g., GPS coordinates) and the mobile device may associate the geographical location with the object, and store such an association in the database.

Example Computer System

FIG. 16 is a block diagram of an example computer system 1600. Computer system 1600 may include one or more processors 1635 which may communicate with a number of peripheral devices via bus subsystem 1615. Peripheral devices may include, for example, a memory system 1620 and a file system 1625, user interface input devices 1610, user interface output devices 1605, and a network interface system 1630. The input and output devices allow user interaction with computer system 1600. Network interface system 1630 provides an interface to outside networks and may be coupled to corresponding interface devices in other computer systems.

User interface input devices 1610 may include devices such as a keyboard, a mouse, and a touchscreen. User interface input devices 1610 may also include audio input devices, and/or other types of input devices including mobile devices such as mobile device 110. User interface output devices 1605 may include devices such as a display (e.g., on a computing device 160), a printer, and a fax machine. User input devices 1610 may also include, for example, a scanning device for digitally scanning a product barcode. Also, for example, user input devices 1610 may include a camera for taking photographs.

Memory system 1620 may include a number of conventional memory systems including a main random access memory (RAM) for storage of instructions and data during program execution and a read only memory (ROM) in which fixed instructions are stored. File system 1625 may provide persistent storage for program and data files, and may include a hard disk drive, and/or an optical drive. Other conventional file storage systems may be used. The memory system 1620 and the file system 1625 may include the logic to identify the characteristics. Also, for example, the memory system 1620 and the file system 1625 may include the logic to implement the processes disclosed in steps 1500-1540. These software modules are generally executed by processor 1635 alone or in combination with other processors.

Bus subsystem 1615 provides a mechanism for letting the various components and subsystems of computer system 1600 communicate with each other as intended.

Computer system 1600 may be of varying types including a workstation, server, or any other data processing system or computing device, including a mobile device. The description of computer system 1600 depicted in FIG. 16 is intended only as a specific example for purposes of illustrating some implementations, and represents one of several possible configurations.

While there has been described and illustrated particular implementations of a system and method for providing instantly redeemable tokens based on user activity on a website, it will be apparent to those skilled in the art that variations and modifications may be possible without deviating from the broad spirit and principle of the present invention, which shall be limited solely by the scope of the claims appended hereto.

It should also be understood that, unless clearly indicated to the contrary, in any methods claimed herein that include more than one step or act, the order of the steps or acts of the method is not necessarily limited to the order in which the steps or acts of the method are recited.

In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.

It is understood that these examples are intended in an illustrative rather than in a limiting sense. Computer-assisted processing is implicated in the described embodiments. It is contemplated that modifications and combinations will readily occur, which modifications and combinations will be within the scope of the following claims. 

1. A method for determining one or more characteristics of an object, comprising: providing, via a graphical user interface on a mobile device, at least one tool from a virtual toolbox, the at least one tool including one or more of a roof gauge, level, ruler, flashlight, compass, and unit converter; identifying user selection of a given tool of the at least one tool; providing the given tool in response to the user selection; and determining, via the given tool, the one or more characteristics of the object.
 2. The method of claim 1, wherein the tool is the roof gauge, the roof gauge including: a virtual protractor, wherein the curved periphery of the virtual protractor has a calibrated scale; a pivot arm with a first end and a second end, wherein: the first end is fixed at a pivot point near the center of the virtual protractor, the second end points to, and overlaps, the calibrated scale; and a base line, wherein the base line is parallel to a side of the mobile device.
 3. The method of claim 2, wherein the calibrated scale is calibrated for a roof pitch from 0/12 to at least 97/12.
 4. The method of claim 2, wherein the calibrated scale is calibrated to correspond to a roof pitch of 0/12 when the second end of the pivot arm points to the midpoint of the calibrated scale.
 5. The method of claim 2, wherein the central portion of the virtual protractor is capable of displaying the roof pitch.
 6. The method of claim 2, further including an option to record the position of the pivot arm.
 7. The method of claim 2, wherein determining, via the given tool, the one or more characteristics of the object, includes: identifying a position of the base line, the position of the base line being parallel to a slant of the roof; positioning the second end of the pivot arm on the calibrated scale based on the position of the base line; and determining the roof pitch based on the positioning of the second end of the pivot arm on the calibrated scale.
 8. The method of claim 7, wherein identifying the position of the base line further includes identifying aligning of the base line with the slant of the roof.
 9. The method of claim 8, wherein identifying the position of the base line further includes: displaying, via a display on the mobile device, an image of a roof to be measured, overlaid with the roof gauge; and identifying aligning of the base line with the image of the slant of the roof.
 10. The method of claim 1, wherein the tool is the level, the level comprising one or more selectable bars including: a vertical bar to determine a vertical level; a horizontal bar to determine a horizontal level; and an angular bar to determine an angular level.
 11. The method of claim 10, wherein determining, via the given tool, the one or more characteristics of the object, includes: displaying, via a display on the mobile device, an image of the object to be measured, overlaid with the level; identifying a selection of a given bar of the one or more selectable bars; identifying a position of the given bar, the position being parallel to the image of the object to be measured; and determining the level of the object based on the position of the given bar.
 12. The method of claim 1, wherein the tool is the ruler, the ruler including: a straight edge capable of being calibrated; and a virtual quarter, the virtual quarter capable of being one or more of resized and repositioned.
 13. The method of claim 12, wherein the straight edge is calibrated when a size of the virtual quarter matches the size of a real quarter.
 14. The method of claim 13, wherein determining, via the given tool, the one or more characteristics of the object, includes: identifying resizing of the virtual quarter; and calibrating the straight edge based on the resizing of the virtual quarter.
 15. The method of claim 14, further including: displaying, via a display on the mobile device, an image of the object to be measured, overlaid with the ruler; and determining a length of the object via the ruler.
 16. The method of claim 1, wherein the tool is the compass, the compass including one or more directional coordinates.
 17. The method of claim 16, wherein the compass includes a circle capable of free rotation about its center, and the one or more directional coordinates are provided along the perimeter of the circle.
 18. The method of claim 16, wherein the directional coordinates include icons representing one or more cardinal directions.
 19. The method of claim 16, wherein the compass is calibrated via a predetermined motion of the mobile device.
 20. The method of claim 19, wherein the predetermined motion is a figure-eight motion of the mobile device.
 21. The method of claim 16, wherein determining, via the given tool, the one or more characteristics of the object, includes: identifying a predetermined motion of the mobile device; and calibrating the compass, in response to the predetermined motion, by aligning the compass with a frame of reference that remains stationary with respect to the earth.
 22. The method of claim 21, further including: identifying, via a display on the mobile device, an image of an object; providing the one or more directional coordinates overlaid on the object; identifying user selection of a given directional coordinate of the one or more directional coordinates; and associating the given directional coordinate with the object.
 23. The method of claim 1, wherein determining the one or more characteristics of the object includes capturing an image of the object via the mobile device.
 24. The method of claim 1, wherein providing the at least one tool includes: providing a selectable menu for the virtual toolbox; identifying an additional user selection of the selectable menu for the virtual toolbox; and providing, in response to the additional user selection, the at least one tool from the virtual toolbox.
 25. The method of claim 1, further including storing the one or more characteristics of the object in a database.
 26. The method of claim 25, wherein the database is external to the mobile device.
 27. The method of claim 1, further including providing the one or more characteristics of the object to a user.
 28. The method of claim 1, wherein providing the one or more characteristics includes providing the one or more characteristics via one or more of an electronic mail and a text message.
 29. A method of using a roof gauge to determine a roof pitch, comprising: calibrating the roof gauge, the roof gauge configured on a mobile device, and including: a virtual protractor, wherein the curved periphery of the virtual protractor has a calibrated scale, a pivot arm with a first end and a second end, wherein: the first end is fixed at a pivot point near the center of the virtual protractor, the second end points to, and overlaps, the calibrated scale, and a base line, wherein the base line is parallel to a side of the mobile device; aligning the base line with a slant of a roof; indicating to the mobile device that the base line is aligned with the slant of the roof; and saving the roof pitch in a database.
 30. The method of claim 29, wherein aligning the base line with the slant of the roof includes placing the mobile device on the roof.
 31. The method of claim 29, wherein aligning the base line with the slant of the roof includes: viewing, via a display on the mobile device, an image of the roof to be measured, overlaid with the roof gauge; and aligning the base line of the roof gauge with the image of the slant of the roof.
 32. The method of claim 29, wherein calibrating the roof gauge includes: placing the mobile device on a flat surface; and indicating to the mobile device that the roof gauge is ready for calibration.
 33. The method of claim 29, further comprising electronically sharing the roof pitch with one or more users.
 34. A method of using a level, comprising: calibrating the level, the level configured on a mobile device, comprising one or more selectable bars, the level including: a vertical bar to determine a vertical level, a horizontal bar to determine a horizontal level, and an angular bar to determine an angular level; viewing, via a display on the mobile device, an image of an object to be measured, overlaid with the level; selecting a given bar of the one or more selectable bars; aligning the image of the object to be measured with the given bar; indicating to the mobile device that the given bar is aligned with the image of the object to be measured; and saving the level of the object in a database.
 35. The method of claim 34, wherein calibrating the level includes: placing the mobile device on a flat surface; and indicating to the mobile device that the level is ready for calibration.
 36. The method of claim 34, further comprising electronically sharing the level of the object with one or more users.
 37. A method of using a compass, comprising: calibrating the compass, the compass including one or more directional coordinates; viewing, via a display on the mobile device, an image of an object to be marked, overlaid with the one or more directional coordinates; selecting a given directional coordinate of the one or more directional coordinates; and saving the given directional coordinate of the object in a database.
 38. The method of claim 37, wherein calibrating the compass includes moving the mobile device in a predetermined motion.
 39. The method of claim 38, wherein the predetermined motion is a figure-eight motion of the mobile device, the predetermined motion performed three full times.
 40. The method of claim 37, further comprising electronically sharing the given directional coordinate of the object with one or more users.
 41. A method of using a ruler, comprising: calibrating the ruler, the ruler including: a straight edge capable of being calibrated, and a virtual quarter, the virtual quarter capable of being one or more of resized and repositioned; viewing, via a display on the mobile device, an image of an object to be measured, overlaid with the ruler; and measuring a length of the object with the straight edge.
 42. The method of claim 41, wherein calibrating the ruler includes: placing a real quarter over the display of the mobile device; and resizing the virtual quarter so as to match the size of the real quarter.
 43. The method of claim 41, further comprising electronically sharing the length of the object with one or more users.
 44. A system including memory and one or more processors operable to execute instructions stored in the memory, comprising instructions to: provide, via a graphical user interface on a mobile device, at least one tool from a virtual toolbox, the at least one tool including one or more of a roof gauge, level, ruler, flashlight, compass, and unit converter; identify user selection of a given tool of the at least one tool; provide the given tool in response to the user selection; and determine, via the given tool, the one or more characteristics of the object.
 45. The system of claim 44, wherein the tool is the roof gauge, the roof gauge including: a virtual protractor, wherein the curved periphery of the virtual protractor has a calibrated scale; a pivot arm with a first end and a second end, wherein: the first end is fixed at a pivot point near the center of the virtual protractor, the second end points to, and overlaps, the calibrated scale; and a base line, wherein the base line is parallel to a side of the mobile device.
 46. The system of claim 45, wherein the instructions to determine, via the given tool, the one or more characteristics of the object, include instructions to: identify a position of the base line, the position of the base line being parallel to a slant of the roof; position the second end of the pivot arm on the calibrated scale based on the position of the base line; and determine the roof pitch based on the position of the second end of the pivot arm on the calibrated scale.
 47. The system of claim 46, wherein the instructions to identify the position of the base line further include instructions to identify aligning of the base line with the slant of the roof.
 48. The system of claim 47, wherein instructions to identify the position of the base line further include instructions to: display, via a display on the mobile device, an image of a roof to be measured, overlaid with the roof gauge; and identify aligning of the base line with the image of the slant of the roof.
 49. The system of claim 44, wherein the tool is the level, the level comprising one or more selectable bars including: a vertical bar to determine a vertical level; a horizontal bar to determine a horizontal level; and an angular bar to determine an angular level.
 50. The system of claim 49, wherein the instructions to determine, via the given tool, the one or more characteristics of the object, include instructions to: display, via a display on the mobile device, an image of the object to be measured, overlaid with the level; identify a selection of a given bar of the one or more selectable bars; identify a position of the given bar, the position being parallel to the image of the object to be measured; and determine the level of the object based on the position of the given bar.
 51. The system of claim 44, wherein the tool is the ruler, the ruler including: a straight edge capable of being calibrated; and a virtual quarter, the virtual quarter capable of being one or more of resized and repositioned.
 52. The system of claim 51, wherein the straight edge is calibrated when a size of the virtual quarter matches the size of a real quarter.
 53. The system of claim 52, wherein the instructions to determine, via the given tool, the one or more characteristics of the object, include instructions to: identify resizing of the virtual quarter; and calibrate the straight edge based on the resizing of the virtual quarter.
 54. The system of claim 53, further including instructions to: display, via a display on the mobile device, an image of the object to be measured, overlaid with the ruler; and determine a length of the object via the ruler.
 55. The system of claim 44, wherein the tool is the compass, the compass including one or more directional coordinates.
 56. The system of claim 55, wherein the compass includes a circle capable of free rotation about its center, and the one or more directional coordinates are provided along the perimeter of the circle.
 57. The system of claim 55, wherein the directional coordinates include icons representing one or more cardinal directions.
 58. The system of claim 55, wherein the compass is calibrated via a predetermined motion of the mobile device.
 59. The system of claim 58, wherein the predetermined motion is a figure-eight motion of the mobile device.
 60. The system of claim 55, wherein the instructions to determine, via the given tool, the one or more characteristics of the object, include instructions to: identify a predetermined motion of the mobile device; and calibrate the compass, in response to the predetermined motion, by aligning the compass with a frame of reference that remains stationary with respect to the earth.
 61. The system of claim 60, further including instructions to: identify, via a display on the mobile device, an image of an object; provide the one or more directional coordinates overlaid on the object; identify user selection of a given directional coordinate of the one or more directional coordinates; and associate the given directional coordinate with the object. 